/***
 * 定义扩展的初始弹出网页中的内容， (标题、按钮和说明)
 */

document.addEventListener('DOMContentLoaded', function() {
  // 方法1: 直接从 chrome.runtime 获取 manifest 信息
  function loadVersionFromRuntime() {
    const manifest = chrome.runtime.getManifest();
    document.getElementById('versionDisplay').textContent = manifest.version;
}

loadVersionFromRuntime();
  // 所有按钮保持一致的悬停效果
  const buttons = document.querySelectorAll('.action-btn');
  
    // 打开侧边栏
    document.getElementById('openSidebar').addEventListener('click', async function() {
      try {
          // 方法1: 使用 Sidebar API (Manifest V3)
          if (chrome.sidePanel) {
              await chrome.sidePanel.open({ windowId: (await chrome.windows.getCurrent()).id });
          } else {
              // 方法2: 回退方案 - 发送消息给 background script
              chrome.runtime.sendMessage({ action: "openSidebar" });
          }
      } catch (error) {
          console.error('打开侧边栏失败:', error);
          // 方法3: 使用传统方式
          chrome.tabs.create({
              url: chrome.runtime.getURL('sidebar/sidebar.html'),
              active: true
          });
      }
  });

  // 其他按钮功能
  document.getElementById('extractPage').addEventListener('click', function() {
    console.log('提取当前页面');
    // 实现提取页面逻辑
});

document.getElementById('extractWindow').addEventListener('click', function() {
    console.log('提取当前窗口');
    // 实现提取窗口逻辑
});
  
  // 快捷键支持
  document.addEventListener('keydown', function(e) {
    if (e.altKey) {
        switch(e.key) {
            case 'p':
                e.preventDefault();
                document.getElementById('openSidebar').click();
                break;
            case 'z':
                e.preventDefault();
                document.getElementById('extractPage').click();
                break;
            case 'x':
                e.preventDefault();
                document.getElementById('extractWindow').click();
                break;
        }
    }
});

   // 监听扩展更新
  chrome.runtime.onUpdateAvailable.addListener(function(details) {
    console.log('扩展有更新可用:', details);
    // 可以在这里提示用户更新
  });
});